package com.appapi.common;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Pattern;

public class CommonUtils {
    public static String dateFormatString(Date date,String Format){
        SimpleDateFormat df = new SimpleDateFormat(Format);
        return df.format(date);
    }

        /**
         * 手机短信的code
         * @author gongchengbing
         * @date 2018年9月12日
         * @version 1.0
         * @return
         */
        public static String getMsgCode() {
        int codeI = (int)((Math.random()*9+1)*100000);
        String code = Integer.toString(codeI);
        return code;
    }
        /**
         * 电话号码的正则校验
         * @author gongchengbing
         * @date 2018年9月12日
         * @version 1.0
         * @param phone
         * @return
         */
        public static boolean phoneVerigy(String phone) {
        String context = phone;
        String reg = "^1[3-9][0-9]{9}$";
        boolean b = Pattern.matches(reg, context);
        return b;
    }
        /**
         * 创建redis的key
         * @author gongchengbing
         * @date 2018年9月12日
         * @version 1.0
         * @param prefix
         * @param phone
         * @return
         */
        public static String createRedisKey(String prefix,String phone) {
        return prefix+"_"+phone;
    }
        /**
         * 获取加一天的时间
         * @author gongchengbing
         * @date 2018年10月20日
         * @verion 1.0
         * @param date
         * @return
         */
        public static Date getDataAddOneDay(Date date) {
        long l = date.getTime();
        long l1 = l+24*60*60*1000;
        Date d = new Date(l1);
        return d;
    }
        /**
         * 把时间转化为字符串
         * @author gongchengbing
         * @date 2018年10月20日
         * @verion 1.0
         * @param date
         * @return
         */
        public static String dateToString(Date date,String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String result = sdf.format(date);
        return result;
    }
        public static Date stringToDate(String date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date result=null;
        try {
            result = sdf.parse(date);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return result;
    }
        /**
         * 计算两个时间得时间戳得差值
         * @author gongchengbing
         * @date 2018年11月1日
         * @verion 1.0
         * @param date1
         * @param date2
         * @return
         */
        public static long getDateSub(Date date1,Date date2) {
        long l1 = date1.getTime();
        long l2 = date2.getTime();
        return l1-l2;
    }

}
